package com.nuoniu.sibanyun.entity.finance;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.nuoniu.sibanyun.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 科目总账查询方案表
 * </p>
 *
 * @author 小啊刚
 * @since 2021-05-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("fag_search_programme")
@ApiModel(value="VAccountingSearchProgramme对象", description="科目总账查询方案表")
public class VAccountingSearchProgramme extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "租户id")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "账套id")
    @TableField("account_id")
    private Integer accountId;

    @ApiModelProperty(value = "账套年份")
    @TableField("account_year")
    private Integer accountYear;

    @ApiModelProperty(value = "账套期间")
    @TableField("account_period")
    private Integer accountPeriod;

    @ApiModelProperty(value = "方案名称")
    @TableField("name")
    private String name;

    @ApiModelProperty("科目id")
    @TableField(exist = false)
    private String accountingId;

    @ApiModelProperty("科目名称")
    @TableField("accounting_name")
    private String accountingName;

    @ApiModelProperty(value = "科目开始编码")
    @TableField("begin_code")
    private String beginCode;

    @ApiModelProperty(value = "科目结束编码")
    @TableField("end_code")
    private String endCode;

    @ApiModelProperty(value = "币种id")
    @TableField("currency_id")
    private Integer currencyId;

    @ApiModelProperty(value = "是否末级科目0:否 1:是")
    @TableField("is_end_node")
    private Integer isEndNode;

    @ApiModelProperty(value = "是否包含未记账0:否 1:是")
    @TableField("is_no_bookkeeping")
    private Integer isNoBookkeeping;

    @ApiModelProperty(value = "开始级次")
    @TableField("begin_depth")
    private Integer beginDepth;

    @ApiModelProperty(value = "结束级次")
    @TableField("end_depth")
    private Integer endDepth;

    @ApiModelProperty(value = "开始期间")
    @TableField("begin_date")
    private String beginDate;

    @ApiModelProperty(value = "结束期间")
    @TableField("end_date")
    private String endDate;

    @ApiModelProperty(value = "个人")
    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty(value = "个人名称")
    @TableField("user_name")
    private String userName;

    @ApiModelProperty(value = "部门")
    @TableField("office_id")
    private Integer officeId;

    @ApiModelProperty(value = "部门名称")
    @TableField("office_name")
    private String officeName;

    @ApiModelProperty(value = "项目")
    @TableField(exist = false)
    private Integer projectId;

    @ApiModelProperty(value = "客户")
    @TableField(value = "crm_id", updateStrategy = FieldStrategy.IGNORED)
    private Integer crmId;

    @ApiModelProperty(value = "客户名称")
    @TableField(value = "crm_name", updateStrategy = FieldStrategy.IGNORED)
    private String crmName;

    @ApiModelProperty(value = "供应商")
    @TableField(value = "vendor_id", updateStrategy = FieldStrategy.IGNORED)
    private Integer vendorId;

    @ApiModelProperty(value = "供应商名称")
    @TableField(value = "vendor_name", updateStrategy = FieldStrategy.IGNORED)
    private String vendorName;

    @ApiModelProperty(value = "创建人")
    @TableField("create_user_id")
    private Integer createUserId;

    @ApiModelProperty(value = "类型1:总分类账2:明细分类账3:日记账4:单位往来总账5:单位往来明细6:个人往来7:个人明细")
    @TableField("type")
    private Integer type;

    @ApiModelProperty("辅助类型:1客户2供应商3个人4部门5项目")
    @TableField(exist = false)
    private Integer auxiliaryType;

    @TableField(exist = false)
    private Integer businessId;

    @ApiModelProperty(value = "科目分类id")
    @TableField(exist = false)
    private Integer accountingTypeId;
}
